#include <iostream>
#include <cstdlib>

class Test
{
public:
    Test(){std::cout<<"构造函数\n";}
    Test(const Test& t){std::cout<<"深拷贝构造函数\n";}
    void operator=(const Test& t){std::cout<<"赋值运算符深度重载\n";}
    ~Test(){std::cout<<"析构函数\n";}
};

int main()
{
    // Test *t = (Test*)malloc(sizeof(Test));
    // free(t);

    Test *t = new Test[3];
    delete []t;
    return 0;
}